package com.yuanian.ecsplus.handler;

import com.yuanian.dp.common.vo.CustomeFieldValueVo;
import com.yuanian.ecsplus.context.ReflectContext;
import java.math.BigDecimal;

public class CustomerFieldValueVoHandler implements ResultHandler {

    @Override
    public void obj2Map(ReflectContext reflectContext) {
        if (reflectContext.getResult() == null) {
            return;
        }
        try {
            Object fieldValue = reflectContext.getRawResult();
            CustomeFieldValueVo customerFieldValueVo = (CustomeFieldValueVo)fieldValue;
            if (customerFieldValueVo.getDataType() != null && customerFieldValueVo.getDataType().equals("数值")) {
                reflectContext.setResult(customerFieldValueVo.getFieldValue());
                ResultHandlerFactory.getHandler(BigDecimal.class).obj2Map(reflectContext);
            } else {
                reflectContext.putMapData();
            }
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        }
    }

    @Override
    public void map2Obj(ReflectContext reflectContext) {
        reflectContext.setFieldData();
    }
}
